package persistencia;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Properties;

import logica.excepctions.PersistenciaException;

public class persistencia {

	public void Guardar(Contenedor data, String dir) throws PersistenciaException{
		try{
			FileOutputStream f = new FileOutputStream(dir);
			ObjectOutputStream o = new ObjectOutputStream(f);
			o.writeObject (data);
			o.close();
			f.close();
		}
		catch(Exception ex){ 
			throw new PersistenciaException("Problema al guardar");
		}		
	}
	
	public Contenedor Leer(String dir) throws PersistenciaException{
		
		Contenedor data = null;
		
		try{
			File archivo = new File(dir);
			if(archivo.exists()){
				FileInputStream f = new FileInputStream(dir);
				
				ObjectInputStream o = new ObjectInputStream(f);
				data = (Contenedor) o.readObject();
				o.close();
				f.close();
			}

			
		}
		catch(Exception ex){
			throw new PersistenciaException("Problema al leer");			
		}	
		return data;
	}
	
	public String obtenerRuta() throws FileNotFoundException, IOException{
		Properties p = new Properties();
		String nomArch = "configuraciones.properties";
		p.load(new FileInputStream(nomArch));
		String rutaArchivo = p.getProperty("rutaArchivo");	    		
		return rutaArchivo;
	}
}
